#ifndef CUBE_EVENT_H_
#define CUBE_EVENT_H_

enum eEventType
{
	EVENT_UNKNOWN	= 0,
	EVENT_MOUSE		= 0x01,
	EVENT_KEYBOARD	= 0x02,
};

enum eModifierFlag
{
	MODFLAG_NONE	= 0,
	MODFLAG_ALT		= 0x01,
	MODFLAG_CTRL	= 0x02,
	MODFLAG_SHIFT	= 0x04,
};

enum eMouseFlag
{
	MOUSE_MOVE		= 0,
	MOUSE_LDOWN		= 0x01,
	MOUSE_LUP		= 0x02,
	MOUSE_RDOWN		= 0x04,
	MOUSE_RUP		= 0x08
};

struct EventDesc
{
	BYTE			eventType;
	union
	{
		struct
		{
			DWORD	buttonFlag;
			WORD	curPosX;
			WORD	curPosY;
		};
		struct
		{
			DWORD	modifierFlag;
			BYTE	key;
		};
	};
};

#endif